/****************************************
 * 2018 - 2021 版权所有 CopyRight(c) 快程乐码信息科技有限公司所有, 未经授权，不得复制、转发
 */

package com.kclm.security03.config;

import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import lombok.extern.slf4j.Slf4j;
import org.apache.ibatis.reflection.MetaObject;
import org.springframework.stereotype.Component;

import java.time.LocalDateTime;

/******************
 * @Author yejf
 * @Version v1.0
 * @Create 2020-07-24 16:04
 * @Description 自动填充属性的处理器
 */
@Component   //必需要申明为一个 Bean组件
@Slf4j
public class MyMetaObjectHandler implements MetaObjectHandler {

    public MyMetaObjectHandler() {
        log.debug("创建 MyMetaObjectHandler实例...");
    }

    @Override
    public void insertFill(MetaObject metaObject) {
        log.debug("进行 insertFill字段填充，填充 creatTime字段为LocalDateTime.now()");
        //
        this.strictInsertFill(metaObject,"createTime", LocalDateTime.class, LocalDateTime.now());
    }

    @Override
    public void updateFill(MetaObject metaObject) {
        log.debug("进行 updateFill 更新字段填充，把 lastAccessTime 字段值填充为 LocalDateTime.now()");
        //
        this.strictUpdateFill(metaObject, "lastAccessTime", LocalDateTime.class, LocalDateTime.now());
    }
}
